﻿using System;
using AMS.DataAccess.Trademark.BO.Enums;

namespace AMS.DataAccess.Trademark.BO
{
    [DBTable("TT_TradeMark")]
    public class TrademarkInfo
    {
        #region Database Column Fields
        [DBPrimaryKeyColumn("AID", true)]
        public int AID { get; set; }

        [DBColumn("CustomerID")]
        public int CustomerID { get; set; }

        [DBColumn("Name")]
        public string Name { get; set; }

        [DBColumn("NameE")]
        public string NameE { get; set; }

        [DBColumn("Class")]
        public string Class { get; set; }

        [DBColumn("Item")]
        public string Item { get; set; }

        [DBEnumColumn("TrademarkType", typeof(TrademarkType), TrademarkType.UnSpecified)]
        public TrademarkType TrademarkType { get; set; }

        [DBColumn("RegisterUser")]
        public string RegisterUser { get; set; }

        [DBColumn("RegisterAddress")]
        public string RegisterAddress { get; set; }

        [DBColumn("RegisterZipcode")]
        public string RegisterZipcode { get; set; }

        [DBEnumColumn("TrademarkStatus")]
        public TrademarkStatus TrademarkStatus { get; set; }

        [DBDateTime("RegisterDate", DateTimeType.Date)]
        public DateTime RegisterDate { get; set; }

        [DBColumn("RegisterNumber")]
        public string RegisterNumber { get; set; }

        [DBDateTime("ApplyDate", DateTimeType.Date)]
        public DateTime ApplyDate { get; set; }

        [DBColumn("ApplyNumber")]
        public string ApplyNumber { get; set; }

        [DBColumn("ImageID")]
        public Guid ImageID { get; set; }

        [DBColumn("OriginalTrademarkID", 0)]
        public int OriginalTrademarkID { get; set; }

        [DBColumn("Note")]
        public string Note { get; set; }

        [DBColumn("CreateUserID", 0)]
        public int CreateUserID { get; set; }

        [DBDateTime("CreateDateTime", DateTimeType.DateTime, false, true)]
        public DateTime CreateDateTime { get; set; }

        [DBVersionColumn("Version")]
        public int Version { get; set; }
        #endregion

        /// <summary>
        /// Display Only
        /// </summary>
        [DBDisplayColumn("CustomerName")]
        public string CustomerName { get; set; }

    }
}
